home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / CheckboxMenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.5 KB  |  174 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ItemEvent;
  4. import java.awt.event.ItemListener;
  5. import java.awt.peer.CheckboxMenuItemPeer;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.util.EventListener;
  10. import javax.accessibility.Accessible;
  11. import javax.accessibility.AccessibleContext;
  12.  
  13. public class CheckboxMenuItem extends MenuItem implements ItemSelectable, Accessible {
  14.    boolean state;
  15.    transient ItemListener itemListener;
  16.    private static final String base = "chkmenuitem";
  17.    private static int nameCounter;
  18.    private static final long serialVersionUID = 6190621106981774043L;
  19.    private int checkboxMenuItemSerializedDataVersion;
  20.  
  21.    public CheckboxMenuItem() throws HeadlessException {
  22.       this("", false);
  23.    }
  24.  
  25.    public CheckboxMenuItem(String var1) throws HeadlessException {
  26.       this(var1, false);
  27.    }
  28.  
  29.    public CheckboxMenuItem(String var1, boolean var2) throws HeadlessException {
  30.       super(var1);
  31.       this.state = false;
  32.       this.checkboxMenuItemSerializedDataVersion = 1;
  33.       this.state = var2;
  34.    }
  35.  
  36.    String constructComponentName() {
  37.       synchronized(this.getClass()) {
  38.          return "chkmenuitem" + nameCounter++;
  39.       }
  40.    }
  41.  
  42.    public void addNotify() {
  43.       synchronized(this.getTreeLock()) {
  44.          if (this.peer == null) {
  45.             this.peer = Toolkit.getDefaultToolkit().createCheckboxMenuItem(this);
  46.          }
  47.  
  48.          super.addNotify();
  49.       }
  50.    }
  51.  
  52.    public boolean getState() {
  53.       return this.state;
  54.    }
  55.  
  56.    public synchronized void setState(boolean var1) {
  57.       this.state = var1;
  58.       CheckboxMenuItemPeer var2 = (CheckboxMenuItemPeer)this.peer;
  59.       if (var2 != null) {
  60.          var2.setState(var1);
  61.       }
  62.  
  63.    }
  64.  
  65.    public synchronized Object[] getSelectedObjects() {
  66.       if (this.state) {
  67.          Object[] var1 = new Object[]{this.label};
  68.          return var1;
  69.       } else {
  70.          return null;
  71.       }
  72.    }
  73.  
  74.    public synchronized void addItemListener(ItemListener var1) {
  75.       if (var1 != null) {
  76.          this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
  77.          this.newEventsOnly = true;
  78.       }
  79.    }
  80.  
  81.    public synchronized void removeItemListener(ItemListener var1) {
  82.       if (var1 != null) {
  83.          this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
  84.       }
  85.    }
  86.  
  87.    public synchronized ItemListener[] getItemListeners() {
  88.       return (ItemListener[])this.getListeners(ItemListener.class);
  89.    }
  90.  
  91.    public <T extends EventListener> T[] getListeners(Class<T> var1) {
  92.       Object var2 = null;
  93.       if (var1 == ItemListener.class) {
  94.          ItemListener var3 = this.itemListener;
  95.          return (T[])AWTEventMulticaster.getListeners(var3, var1);
  96.       } else {
  97.          return (T[])super.getListeners(var1);
  98.       }
  99.    }
  100.  
  101.    boolean eventEnabled(AWTEvent var1) {
  102.       if (var1.id == 701) {
  103.          return (this.eventMask & 512L) != 0L || this.itemListener != null;
  104.       } else {
  105.          return super.eventEnabled(var1);
  106.       }
  107.    }
  108.  
  109.    protected void processEvent(AWTEvent var1) {
  110.       if (var1 instanceof ItemEvent) {
  111.          this.processItemEvent((ItemEvent)var1);
  112.       } else {
  113.          super.processEvent(var1);
  114.       }
  115.    }
  116.  
  117.    protected void processItemEvent(ItemEvent var1) {
  118.       ItemListener var2 = this.itemListener;
  119.       if (var2 != null) {
  120.          var2.itemStateChanged(var1);
  121.       }
  122.  
  123.    }
  124.  
  125.    void doMenuEvent(long var1, int var3) {
  126.       this.setState(!this.state);
  127.       Toolkit.getEventQueue().postEvent(new ItemEvent(this, 701, this.getLabel(), this.state ? 1 : 2));
  128.    }
  129.  
  130.    public String paramString() {
  131.       return super.paramString() + ",state=" + this.state;
  132.    }
  133.  
  134.    private void writeObject(ObjectOutputStream var1) throws IOException {
  135.       var1.defaultWriteObject();
  136.       AWTEventMulticaster.save(var1, "itemL", this.itemListener);
  137.       var1.writeObject((Object)null);
  138.    }
  139.  
  140.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  141.       var1.defaultReadObject();
  142.  
  143.       Object var2;
  144.       while(null != (var2 = var1.readObject())) {
  145.          String var3 = ((String)var2).intern();
  146.          if ("itemL" == var3) {
  147.             this.addItemListener((ItemListener)var1.readObject());
  148.          } else {
  149.             var1.readObject();
  150.          }
  151.       }
  152.  
  153.    }
  154.  
  155.    private static native void initIDs();
  156.  
  157.    public AccessibleContext getAccessibleContext() {
  158.       if (this.accessibleContext == null) {
  159.          this.accessibleContext = new AccessibleAWTCheckboxMenuItem(this);
  160.       }
  161.  
  162.       return this.accessibleContext;
  163.    }
  164.  
  165.    static {
  166.       Toolkit.loadLibraries();
  167.       if (!GraphicsEnvironment.isHeadless()) {
  168.          initIDs();
  169.       }
  170.  
  171.       nameCounter = 0;
  172.    }
  173. }
  174.